package com.business.bean.oa;

import java.util.Date;

import lombok.Getter;
import lombok.Setter;
import net.sf.rose.jdbc.bean.ModelBean;
import net.sf.rose.jdbc.bean.annotation.Column;
import net.sf.rose.jdbc.bean.annotation.Table;
import net.sf.rose.jdbc.bean.annotation.Type;
import net.sf.rose.jdbc.bean.annotation.View;

@Setter
@Getter
@Table(name = "OA_WORK_OVERTIME", description = "加班表")
@View(name = "OA_WORK_OVERTIME_VIEW", description = "加班视图")
public class WorkOverTime extends ModelBean {

	@Column(pk = true, type = Type.定长文本, description = "加班编号", canNull = false, size = 32, policy = "UUID")
	private String overTimeID = null;

	@Column(type = Type.定长文本, description = "用户编号", size = 32)
	private String userID = null;

	@Column(type = Type.变长文本, description = "工号", size = 10)
	private transient String workNo = null;

	@Column(type = Type.变长文本, description = "用户姓名", size = 50)
	private transient String userName = null;

	@Column(type = Type.定长文本, description = "部门编号", size = 32)
	private transient String departID = null;

	@Column(type = Type.变长文本, description = "部门名称", size = 100)
	private transient String departName = null;

	/** 1:平日;2:假日;3:节日; */
	@Column(type = Type.数字整型, description = "加班类型")
	private int dataType = 0;

	/** yyyy-mm-dd */
	@Column(type = Type.定长文本, description = "加班日期", size = 10)
	private String calendarDate = null;

	@Column(type = Type.日期时间, description = "提交时间")
	private Date submitTime = null;

	@Column(type = Type.日期时间, description = "加班开始时间")
	private Date startTime = null;

	@Column(type = Type.日期时间, description = "加班结束时间")
	private Date endTime = null;

	@Column(type = Type.数字双精度型, description = "加班时长")
	private double workTime = 0;

	@Column(type = Type.变长文本, description = "加班描述", size = 250)
	private String description = null;

	@Column(type = Type.定长文本, description = "审核人编号", size = 32)
	private String checkUserID = null;

	@Column(type = Type.变长文本, description = "审核人姓名", size = 50)
	private transient String checkUserName = null;

	@Column(type = Type.日期时间, description = "审核时间")
	private Date checkTime = null;

	/** 0：未提交；1：通过；2：不通过；6：已提交 */
	@Column(type = Type.数字整型, description = "审核状态")
	private int status;

	@Column(type = Type.变长文本, description = "审核备注", size = 250)
	private String checkRemark = null;

}
